home *** CD-ROM | disk | FTP | other *** search
-
- Intoduction:
- ============
- The Remote Shell is a program to allow a co-sysop or a friend to use part of
- your computer system while still guaranteeing that your system is secure.
- You control what areas of the disk the person has access to as well as what
- commands the person will have access to.
-
- Support is included for adding up to 12 additional commands controlled via
- external batch files.
-
- I would be interested in any comments or suggestion you have about The
- Remote Shell. This version does not yet support the E)dit file command. It
- will take some more coding so until then you will have to do without. What
- I have done for my remote user is to add an external command to the EMEdit
- program with redirected i/o. This editor is an ANSI based editor and will
- therefore work. The EMEDIT.ZIP file is available in my SysOps area for
- any who feel they need a remote editor now.
-
-
- File list:
- ==========
- This document is a simple instruction to use to setup The Remote Shell.
- The following files are included:
-
- REGISTER.TXT - Door registration, please fill out & return.
- RSHELL.DOC - This Document
- RSHELL.BAT - DOORS execution file (sample)
- RSHELL.EXE - The executible program (will run stand-alone)
- RSHELL.CFG - Door configuration file (see below)
- RSHELL.USR - Sample user access file (see below)
- RSHELL.HLP - Help file
- RSEXTERN.HLP - Sample extended command help file (see below)
- RSYES - Response file.
-
- RSTEST.BAT - Sample extended command to dump arguments.
- RSXARC.BAT - Sample extended command to archive files.
- RSXUARC.BAT - Sample extended command to de-archive files.
- RSXDL.BAT - Sample extended command to download a file
- using standard external protocol drivers.
- RSXUL.BAT - Sample extended command to upload a file
- using standard external protocol drivers.
-
- RSHELL.LOG - Door entry & error log (created by program)
- NODES.BBS - A list of your comm port assignments by BBS node
-
-
- Program history:
- ================
- 7/89 Version B.00 - Beta version. No edit command.
- 10/89 Version 1.00 - Still BETA. now has Spitfire support & install pgm.
- 08/90 Version 1.01 - Still BETA. a few bug fixes.
- 08/90 Version 1.02 - Bug fixes.
- 12/90 Version 1.04 - Converted to interrupt driven i/o.
- Still no built-in editor support.
-
-
- Executing RShell:
- =================
- To execute directly as a door, you can use the file RSHELL.BAT. The
- program must be executed from the directory containing all of the
- above listed files except that NODES.BBS must be in the BBS directory.
-
- RShell is invoked one of four ways.
-
- 1. RSHELL
- 2. RSHELL node
- 3. RSHELL node path
- 4. RSHELL node path bbs
-
- The first is used to run RShell in local mode. This will give you a chance
- to test the configuration and profiles of the users you plan to give remote
- shell access to before they do.. The second method is used to run RShell
- under the door monitor. The node parameter is automatically passed in
- by the monitor, and RShell uses the standard door monitor files for
- communicating time controls and scores. The third method is used when
- running as a door directly under RBBS 15.x. The path parameter is the current
- full path containing the RBBS configuration files. The node is the RBBS
- node number. The node number is passed to door batch files as parameter 1.
- The fourth method may be used for either RBBS 16+ or other BBSs. The fourth
- parameter is used to specify the BBS type. Set this to:
-
- (empty) for RBBS 15.x
- RBBS for RBBS 16.x or newer
- QBBS for Quick BBS
- PCBOARD for PC-Board 12.1
- PCBOARD14 for PC-Board 14.0
- WILDCAT for Wildcat BBS
- GAP for GAP BBS
- WWIV for WWiV BBS
- SPITFIRE for a Spitfire door
- SPITFIREK for a Spitfire Main menu command
- SPITFIREM for a Spitfire Msg. menu command
- SPITFIREF for a Spitfire File menu command
-
-
- Assumed RBBS 16.x files:
- ========================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under RBBS 16.x:
-
- NODES.BBS Node definition file.
-
- MESSAGES This file contains the information pertaining
- to each node on the BBS.
-
- DORINFOx.DEF This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
-
- Assumed RBBS 15.x files:
- ========================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under RBBS 15.x:
-
- NODES.BBS Node definition file.
-
- MESSAGES This file contains the information pertaining
- to each node on the BBS.
-
- USERS This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
- PASSWRDS This file MUST contain an entry for each security
- level allowed to run doors. Sherlock gets the
- users daily time limit from this file.
-
-
- Assumed Quick BBS files:
- ========================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under Quick BBS:
-
- NODES.BBS Node definition file.
-
- DORINFOx.DEF This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
-
- Assumed PC-BOARD files:
- =======================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under PC-Board:
-
- NODES.BBS Node definition file.
-
- PCBOARD.SYS This file contains the information pertaining
- to the BBS node and the callers information.
-
-
-
- Assumed Wildcat files:
- ======================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under Wildcat:
-
- NODES.BBS Node definition file.
-
- CALLINFO.BBS This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
-
-
- Assumed GAP files:
- ==================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under GAP:
-
- NODES.BBS Node definition file.
-
- DOOR.SYS This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
-
-
- Assumed WWIV files:
- ===================
- RShell assumes that the following files are in the directory specified
- by the path parameter when running directly under WWIV:
-
- NODES.BBS Node definition file.
-
- CHAIN.TXT This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
-
-
- Assumed Spitfire files:
- =======================
-
- Opinion assumes that the following files are in the directory specified
- by the path parameter when running directly under Spitfire:
-
- NODES.BBS Node definition file.
-
- * SFDOORS.DAT This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
- * SFMAIN.DAT This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
- * SFMESS.DAT This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
- * SFFILE.DAT This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
- * Note only one of these files is required. Will depend on the environment
- you select.
-
-
-
- Assumed Monitor files:
- ======================
- RShell assumes that the following files are in the local directory with
- the game when running under an RBBS monitor:
-
- NODES.BBS Node definition file.
-
- TIMEOFFx.DOR This file contains all of the users settings
- such as graphics, parity, baud rate, etc.
-
-
- RShell assumes that the following files are in directory specified in the
- path parameter of the TIMEOFFx.DOR file:
-
- USERS.DOR Monitor users file.
-
- MONITOR1.EXE This file will be executed when the program
- terminates.
-
-
- RShell will build the following files are in the local directory with
- the game when running under an RBBS monitor:
-
- POINTSx.DOR This file contains returns the amount of time
- used in the game and a Monitor score value.
-
-
-
- The subdirectory setup:
- =======================
- RShell requires that two subdirectories exist within the same directory
- form which it is executed. The first is \WORK. This subdirectory is used
- as a work buffer for extended commands which operate on marked files. The
- second subdirectory is \BAT. This subdirectory is where all the .BAT files
- used to support extended commands (see below) must be stored.
-
-
- The configuration file:
- =======================
- The following is a definition of the RSHELL.CFG configuration file:
-
- Line 1: BBS name
- Line 2: Name of BBS SysOp
- Line 3: Complete drive/path/filename of log file
- Line 4: Start of paging hours
- Line 5: End of paging hours
-
-
- The user profiles:
- ==================
- The file RSHELL.USR contains the user profiles for the persons you will
- allow access to The Remote Shell. Each profile begins with a :LOGIN
- directive and ends with an :END directive. The profile controls which
- commands each user will be able to use and defines any extended/external
- commands you wish them to have access to. When the door is run, the .USR
- file is scanned for a matching login. The profile is processed when the
- matching login is found. Any profile errors will be logged to the log file
- so you should run it locally to test the integrity of the profile whenever
- you make changes and then scan the log file for errors.
-
- Note that blank lines are ignored and that any part of a line after a ';'
- character is considered a comment.
-
- The following are descriptions of each of the profile statements:
-
- General Info Directives:
- ------------------------
- The general directives are used to specify basic information about
- the user and his access to the system.
-
- :LOGIN user_name This directive is used to specify a users
- BBS login name. This is a person whom you
- are giving access to The Remote Shell. The
- user name is not case sensative and may be
- one or more words up to a total of 128
- characters.
-
- :PASSWORD word This directive is used to specify the password
- the user will need to type in in order to gain
- access to The Remote Shell. If this directive
- is left out then no password will be required.
- The password is case sensative and may be one
- or more words up to 128 total characters.
-
- :ROOT dirpath dsc This directive specifies the base directory
- the user will have access to. He will have
- access to this directory and all of its
- child directories. The full drive and path
- should be specified and the path should not
- terminate in a '\' character as this is
- added automatically by the program (unless
- you are specifying a root directory). Note
- that the user will not know which drive he
- is on or in what directory area. For all
- effect, this is the root of the only drive
- he has access to. This directive is required
- for the user to have access and will be
- flagged as an error if it is absent. The
- dirpath must be a single word and may not
- exceed 120 characters.
-
- The dsc parameter is a description shown
- to the user during the select command. The
- dsc parameter may be from 0 to 5 words but
- may not exceed 40 characters total (spaces
- included).
-
- :ROOT2 dirpath dsc This directive specifies a second base
- directory the user will have access to if it
- is defined.
-
- :ROOT3 dirpath dsc This directive specifies a third base
- directory the user will have access to if it
- is defined.
-
- :ROOT4 dirpath dsc This directive specifies a fourth base
- directory the user will have access to if it
- is defined.
-
- :END This directive is used to specify the end
- of a user profile and must be included.
-
-
- Intrinsic Command Directives:
- -----------------------------
- The instrinsic command directives, if present, give the user access
- to each of the commands they represent. If the directive is present
- they can use the associated command. If it is absent, the user will
- be denied access to the associated command.
-
- :MKDIR User may make new sudirectories if this
- directive is present.
-
- :RMDIR User may remove subdirectories if this
- directive is present.
-
- :CHDIR User may change directories if this directive
- is present.
-
- :COPY The user may copy files between windows if
- this directive is present.
-
- :DELETE The user may delete files if this directive
- is present.
-
- :RENAME The user may rename files if this directive
- is present.
-
- :TYPE The user may list a files contents to the
- display if this directive is present.
-
- :FILTER The user may change the directory view
- filter if this directive is present.
-
- :MARK The user may mark files for group operations
- if this directive is present.
-
- :CLEAR The user may clear all marks if this directive
- is present.
-
- :EDIT The user may edit files if this directive is
- present.
-
- :PAGE The user may page the sysop during paging
- hours if this directive is present.
-
- :EXTENDED The user may have access to the extended
- command menu if this directive is present.
-
- :QUIT The user will always be able to quit. The
- directive was only included to keep the
- format consistant.
-
-
- Extended Command Directives:
- ----------------------------
- The :EXTERN directive is a way to provide your user with access to
- commands not built into The Remote Shell. Each profile may contain
- up to 12 :EXTERN directives. See below for more information on
- setting up extended/external commands.
-
- :EXTERN key text multi batch
- The key parameter is used to specify which
- key will be used to execute the command.
- This may be any alpha-numeric or symbol key
- except the following: ?, Q, and 1-9.
-
- The text parameter is used to specify the
- text that is displayed in the menu. This
- must be a single word and cannot exceed 12
- characters in length.
-
- The multi parameter is a single capital
- character. Use 'M' to indicate the command
- may be executed against a group of marked
- files, or 'S' to indicate that the command
- is for use by single files only.
-
- The batch parameter is used to specify the
- name of the .BAT file to execute when this
- command is invoked. This must be a single
- word and may not exceed 8 characters. Do
- not include the .BAT extension as this will
- automatically be done by the program.
-
-
- Extended/External Commands:
- ===========================
- As stated, extended/external commands are a means to provide the user with
- commands not built into The Remote Shell. The batch file must be in the
- \BAT directory off of the base RShell directory. The following parameters
- are passed to the batch file:
-
- %0 Full name of the batch file being executed
- %1 The BBS node number
- %2 Full drive/path/filename of current file. This
- will be the work directory\*.* if the command
- supports multi-file access and files are marked.
- %3 Comm port name, ie COM2
- %4 Baud rate
- %5 Data bits
- %6 Parity setting
- %7 Stop bits
- %8 Minutes of connect time remaining.
- %9 + The user login, one word at a time. Each word in
- the user login is passed seperately. As an example
- John Van Test is passed in %9 %10 %11. Note that
- to get past %9 you must use the batch parameter
- shift command.
-
- Be advised that support for baud rates, etc, vary under this program. You
- should use the TEST.BAT function to check if the correct parameters will
- reach the batch file.
-
- A word of caution. Although the user can do no more damage other than to
- the subdirectories you provide him or to fill the disk using copy, care
- must be exercised when using extended/external commands. For instance,
- if you provide him access to MAKE to run make scripts for compiling, etc,
- he could easily edit the make script to include a statement to reformat
- your hard disk. Care should be exercised and I am sure you know the users
- who will have access and how well they can be trusted.
-
- Also another note. Once the batch file starts, no provision is made to
- redirect i/o to the comm port or aux device drivers. This is left up to
- you so that you can control what the user sees with controls in the batch
- files. Also no provision for DCD monitoring exists so you may need to run
- WATCHDOG or an equivalent depending on what the batch command does. Check
- the sample batch files for examples.
-
-
- SysOp controls:
- ===============
- The SysOp has similar controls as to those provided in RBBS. The following
- set of functions are available:
-
- Alt F1 This key will eject the current user from the game
- by setting all his door access time to consumed.
-
- Right Arrow This key will add 1 minute of door access time to
- the current users current door session.
-
- Left Arrow This key will subtract 1 minute of door access time
- from the current users current door session.
-
- F4 The F4 key will toggle the state of the SysOp
- annoy toggle. Note that it is reset to its
- original state when RBBS is reentered.
-
- F6 The F6 key will toggle the state of the SysOp
- availability toggle. Note that it is reset to
- its original state when RBBS is reentered.
-
- F9 The F9 key will toggle the state of the SysOp
- snoop toggle. Note that it is reset to its
- original state when RBBS is reentered.
-
- F10 The F10 key is used to initiate CHAT mode. This
- allows the SysOp to converse with the user via the
- keyboard. Full word wrap is supported.
-
- ESC The escape key is used to answer a user page. It
- is also used to terminate CHAT mode.
-
-
- Epilog:
- =======
- Please enjoy the program and share any comments you have.
-
- Thanks,
-
- Michael W. Bayley
- Mycroft Systems
- BBS: (408)927-0105
-